﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SNSpirit.Documents.Adatpers.Ubb.Internal
{
	/// <summary>
	/// Represent as a single element style.
	/// </summary>
	internal abstract class ElementStyle
	{
		/// <summary>
		/// When overrides by a derived class, it is used to get the name of the style.
		/// </summary>
		public abstract string Name
		{
			get;
		}

		/// <summary>
		/// When overrides by a derived class, it is used to apply the current style on the current conversion context.
		/// </summary>
		/// <param name="context">The conversion context to appy the styl.</param>
		public abstract void Apply(ConversionContext context);

		/// <summary>
		/// Initialize a new element style object.
		/// </summary>
		/// <remarks>
		/// This constrcutor will do nothing.
		/// </remarks>
		protected ElementStyle()
		{
		}
	}
}
